@typeparam TValue
@inherits FshComponentBase
<MudSelect T="TValue"
           @bind-Value="Value"
           Label="@Label"
           Required="@Required"
           Disabled="@Disabled"
           Dense="true"
           Variant="@Variant"
           Adornment="@Adornment"
           AdornmentIcon="@AdornmentIcon"
           AdornmentColor="@AdornmentColor"
           Margin="Margin.Dense"
           @attributes="AdditionalAttributes">
    @ChildContent
</MudSelect>

@code {
    [Parameter] public TValue? Value { get; set; }
    [Parameter] public EventCallback<TValue?> ValueChanged { get; set; }
    [Parameter] public string? Label { get; set; }
    [Parameter] public bool Required { get; set; }
    [Parameter] public bool Disabled { get; set; }
    [Parameter] public Variant Variant { get; set; } = Variant.Outlined;
    [Parameter] public Adornment Adornment { get; set; } = Adornment.None;
    [Parameter] public string? AdornmentIcon { get; set; }
    [Parameter] public Color AdornmentColor { get; set; } = Color.Default;
    [Parameter] public RenderFragment? ChildContent { get; set; }
    [Parameter(CaptureUnmatchedValues = true)] public Dictionary<string, object>? AdditionalAttributes { get; set; }
}
